package util.collections;

/**
 * Hooks into the SoftCache reaping mechanism to
 * reclaim any system resource in use.
 * 
 * @author Joel Rausch
 */
public abstract class CacheReaper {

	/**
	 * Exposes values added to the cache to the reaper. A
	 * reaper should not contain any hard references to the
	 * value.
	 * @param key
	 * @param value
	 */
	public abstract void track(String key, Object value);
	
	/**
	 * Reap resources used by the value, which has been collected.
	 * @param key
	 */
	public abstract void reap(String key);
}
